/**
 * <strong>Title : QualityReportDao.java<br>
 * </strong> <strong>Package : cn.b.sky.mes.qm.dao<br>
 * </strong> <strong>Description : </strong>@类注释说明写在此处@<br>
 * <strong>Create on : 2015年12月21日 上午11:27:43<br>
 * </strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 *          <strong>修改历史:</strong><br>
 *          修改人 | 修改日期 | 修改描述<br>
 *          -------------------------------------------<br>
 * <br>
 * <br>
 */
package cn.b.sky.mes.qm.dao;

import java.util.List;
import java.util.Map;

import cn.b.sky.mes.qm.model.QualityReport;
import cn.b.sky.mes.qm.model.StatisticData;
import cn.b.sky.mes.qm.model.condition.QualityReportCondition;

/**
 * <strong>Title : QualityReportDao.java<br></strong>
 * <strong>Package : cn.b.sky.mes.qm.dao<br></strong>
 * <strong>Description : </strong>质量报告持久层<br> 
 * <strong>Create on : 2015年12月21日 上午11:27:43<br></strong>
 * <p>
 * @author dapeng.li<br>
 * @version <strong>v1.0.0</strong><br>
 * <br>
 * <strong>修改历史:</strong><br>
 * 修改人 | 修改日期 | 修改描述<br>
 * -------------------------------------------<br>
 * <br>
 * <br>
 */
public interface QualityReportDao {

  /**
   * <strong>Title : selectAllQualityReportList<br></strong>
   * <strong>Description : </strong>条件查询所有过程检验记录<br> 
   * <strong>Create on : 2015年12月21日 下午1:16:09<br></strong>
   * <p>
   * @param condition
   * @return
   * List<QualityReport>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<QualityReport> selectAllQualityReportList(QualityReportCondition condition);

  /**
   * <strong>Title : selectListGroupByDefectLevel<br></strong>
   * <strong>Description : </strong>根据缺陷等级分组查询过程检验表<br> 
   * <strong>Create on : 2015年12月22日 上午11:22:50<br></strong>
   * <p>
   * @param condition
   * @return
   * List<StatisticData>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<StatisticData> selectListGroupByDefectLevel(QualityReportCondition condition);

  /**
   * <strong>Title : selectListGroupByDefectType<br></strong>
   * <strong>Description : </strong>根据缺陷类型分组查询过程检验表<br> 
   * <strong>Create on : 2015年12月22日 上午11:22:54<br></strong>
   * <p>
   * @param condition
   * @return
   * List<StatisticData>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<StatisticData> selectListGroupByDefectType(QualityReportCondition condition);

  /**
   * <strong>Title : selectListGroupByResponsibilityType<br></strong>
   * <strong>Description : </strong>根据缺陷责任类型查询过程检验表<br> 
   * <strong>Create on : 2015年12月22日 上午11:23:01<br></strong>
   * <p>
   * @param condition
   * @return
   * List<StatisticData>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<StatisticData> selectListGroupByResponsibilityType(QualityReportCondition condition);

  /**
   * <strong>Title : selectAllQualityReportMapList<br></strong>
   * <strong>Description : </strong>@方法注释说明写在此处@<br> 
   * <strong>Create on : 2016年3月22日 下午5:56:45<br></strong>
   * <p>
   * @param condition
   * @return
   * List<Map<String,Object>>
   * @throws 
   * @author dapeng.li<br>
   * @version <strong>v1.0.0</strong><br>
   * <br>
   * <strong>修改历史:</strong><br>
   * 修改人 | 修改日期 | 修改描述<br>
   * -------------------------------------------<br>
   * <br>
   * <br>
   */
  List<Map<String, Object>> selectAllQualityReportMapList(QualityReportCondition condition);

}
